import request from '@/utils/request'
import type { User, UserQuery, AddUserType, UpdateUserType } from '@/types/user'
import type { ApiRes } from '@/types/data'

// 登录
export const login = (data: { adminname: string; password: string }) => {
  // return request<{ code: string | number; data: User; message: string }>({
  /**
   * 这里面有两个泛型
   * 一个是 axios request 需要的泛型
   * 另外一个是我们抽取的泛型接口 ApiRes 需要的泛型
   *  */
  return request<ApiRes<User>>({
    url: 'admin/login',
    method: 'POST',
    data
  })
}

// 获取用户详情
export const getUserInfo = () => {
  return request<ApiRes<User>>({
    url: 'admin/detail'
  })
}

// 分页获取用户列表
export const getUserList = (params: UserQuery) => {
  return request<ApiRes<{ total: number; items: User[] }>>({
    url: 'admin/list',
    params
  })
}

// 新增用户
export const addUser = (data: AddUserType) => {
  return request({
    url: 'admin/add',
    method: 'POST',
    data
  })
}

// 修改用户
export const updateUser = (data: UpdateUserType) => {
  return request({
    url: 'admin/update',
    method: 'POST',
    data
  })
}

// 删除用户
export const deleteUser = (adminid: string) => {
  return request({
    url: 'admin/delete',
    method: 'POST',
    data: {
      adminid
    }
  })
}
